gusucode.com > VC++ 汽配销售管理系统(Access)源码程序 > VC++ 汽配销售管理系统(Access)源码程序/源码/DComAndGo.cpp
//Download by http://www.NewXing.com // DComAndGo.cpp : implementation file // #include "stdafx.h" #include "qpglxt.h" #include "DComAndGo.h" #include "DBaseQuery.h" #include "externDllHeader.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDComAndGo dialog CDComAndGo::CDComAndGo(CWnd* pParent /*=NULL*/) : CDialog(CDComAndGo::IDD, pParent) { //{{AFX_DATA_INIT(CDComAndGo) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void CDComAndGo::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDComAndGo) DDX_Control(pDX, IDC_SPXX_BUTUNDO, m_ButUndo); DDX_Control(pDX, IDC_SPXX_BUTSAVE, m_ButSave); DDX_Control(pDX, IDC_SPXX_BUTEXIT, m_ButExit); DDX_Control(pDX, IDC_SPXX_BUTDELE, m_ButDele); DDX_Control(pDX, IDC_SPXX_BUTCHANGE, m_ButChange); DDX_Control(pDX, IDC_SPXX_BUTADD, m_ButAdd); DDX_Control(pDX, IDC_CAG_EDTWWW, m_EdtWww); DDX_Control(pDX, IDC_CAG_EDTTEL, m_EdtTel); DDX_Control(pDX, IDC_CAG_EDTTAXPAYER, m_EdtTaxPayer); DDX_Control(pDX, IDC_CAG_EDTNAME, m_EdtName); DDX_Control(pDX, IDC_CAG_EDTMEM, m_EdtMem); DDX_Control(pDX, IDC_CAG_EDTLINKMANTEL, m_EdtLinkManTel); DDX_Control(pDX, IDC_CAG_EDTLINKMAN, m_EdtLinkMan); DDX_Control(pDX, IDC_CAG_EDTID, m_EdtID); DDX_Control(pDX, IDC_CAG_EDTFAX, m_EdtFax); DDX_Control(pDX, IDC_CAG_EDTCNAME, m_EdtCName); DDX_Control(pDX, IDC_CAG_EDTADDR, m_EdtAddr); DDX_Control(pDX, IDC_CAG_EDTACCOUNT, m_EdtAccount); DDX_Control(pDX, IDC_CAG_COMSTYLE, m_ComStyle); DDX_Control(pDX, IDC_CAG_COMBANK, m_ComBank); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDComAndGo, CDialog) //{{AFX_MSG_MAP(CDComAndGo) ON_BN_CLICKED(IDC_SPXX_BUTADD, OnSpxxButadd) ON_BN_CLICKED(IDC_SPXX_BUTCHANGE, OnSpxxButchange) ON_BN_CLICKED(IDC_SPXX_BUTDELE, OnSpxxButdele) ON_BN_CLICKED(IDC_SPXX_BUTSAVE, OnSpxxButsave) ON_BN_CLICKED(IDC_SPXX_BUTUNDO, OnSpxxButundo) ON_BN_CLICKED(IDC_SPXX_BUTEXIT, OnSpxxButexit) ON_EN_CHANGE(IDC_CAG_EDTNAME, OnChangeCagEdtname) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDComAndGo message handlers void CDComAndGo::OnOK() { // TODO: Add extra validation here //CDialog::OnOK(); } void CDComAndGo::Clear() { m_EdtWww.SetWindowText(""); m_EdtTel.SetWindowText(""); m_EdtTaxPayer.SetWindowText(""); m_EdtName.SetWindowText(""); m_EdtMem.SetWindowText(""); m_EdtLinkManTel.SetWindowText(""); m_EdtLinkMan.SetWindowText(""); m_EdtID.SetWindowText(""); m_EdtFax.SetWindowText(""); m_EdtCName.SetWindowText(""); m_EdtAddr.SetWindowText(""); m_EdtAccount.SetWindowText(""); m_ComStyle.SetCurSel(0); m_ComBank.SetCurSel(0); } void CDComAndGo::Display(CString ID) { RxRecordset Drst; CString sSQL; if(ID.IsEmpty()) return; sSQL.Format("SELECT * FROM 往来单位信息表 WHERE 编号 ='%s'",ID); Drst.Open(sSQL,adCmdText); CString sWww,sTel,sTaxPayer,sName,sMem,sLinkManTel,sLinkMan,sID,sFax,sCName,sAddr,sAccount,sStyle,sBank; sID=Drst.GetFieldValue("编号"); sStyle=Drst.GetFieldValue("类型"); sName=Drst.GetFieldValue("名称"); sCName=Drst.GetFieldValue("简称"); sAddr=Drst.GetFieldValue("地址"); sTel=Drst.GetFieldValue("电话"); sFax=Drst.GetFieldValue("传真"); sLinkMan=Drst.GetFieldValue("联系人"); sLinkManTel=Drst.GetFieldValue("联系人电话"); sBank=Drst.GetFieldValue("开户银行"); sAccount=Drst.GetFieldValue("银行账户"); sTaxPayer=Drst.GetFieldValue("纳税人"); sWww=Drst.GetFieldValue("邮箱网址"); sMem=Drst.GetFieldValue("备注"); CString sBankName=ado.FieldToOtherField("银行信息表","编号",sBank,"名称",2); m_EdtWww.SetWindowText(sWww); m_EdtTel.SetWindowText(sTel); m_EdtTaxPayer.SetWindowText(sTaxPayer); m_EdtName.SetWindowText(sName); m_EdtMem.SetWindowText(sMem); m_EdtLinkManTel.SetWindowText(sLinkManTel); m_EdtLinkMan.SetWindowText(sLinkMan); m_EdtID.SetWindowText(sID); m_EdtFax.SetWindowText(sFax); m_EdtCName.SetWindowText(sCName); m_EdtAddr.SetWindowText(sAddr); m_EdtAccount.SetWindowText(sAccount); CString sStyleName=ado.FieldToOtherField("往来类型表","编号",sStyle,"类型",2); m_ComStyle.SetWindowText(sStyleName); m_ComBank.SetWindowText(sBankName); } void CDComAndGo::Enabled(bool bEnabled) { m_ButUndo.EnableWindow(bEnabled); m_ButSave.EnableWindow(bEnabled); m_ButExit.EnableWindow(!bEnabled); m_ButDele.EnableWindow(!bEnabled); m_ButChange.EnableWindow(!bEnabled); m_ButAdd.EnableWindow(!bEnabled); m_EdtWww.EnableWindow(bEnabled); m_EdtTel.EnableWindow(bEnabled); m_EdtTaxPayer.EnableWindow(bEnabled); m_EdtName.EnableWindow(bEnabled); m_EdtMem.EnableWindow(bEnabled); m_EdtLinkManTel.EnableWindow(bEnabled); m_EdtLinkMan.EnableWindow(bEnabled); m_EdtFax.EnableWindow(bEnabled); m_EdtCName.EnableWindow(bEnabled); m_EdtAddr.EnableWindow(bEnabled); m_EdtAccount.EnableWindow(bEnabled); m_ComStyle.EnableWindow(bEnabled); m_ComBank.EnableWindow(bEnabled); if(bEnabled==true) this->m_ComStyle.SetFocus(); else this->m_ButSave.SetFocus(); } void CDComAndGo::OnSpxxButadd() { AddOrChange=1; CString sNewID; sNewID=ado.AutoNumber("往来单位信息表","编号","WD",2); this->Clear(); m_EdtID.SetWindowText(sNewID); this->Enabled(true); this->m_ComStyle.SetFocus(); } void CDComAndGo::OnSpxxButchange() { AddOrChange=2; this->Enabled(true); this->m_ComStyle.SetFocus(); } void CDComAndGo::OnSpxxButdele() { if(MessageBox("确定要删除记录吗?"," 系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1) return; CString cID,sSQL; this->m_EdtID.GetWindowText(cID); sSQL.Format("DELETE FROM 往来单位信息表 WHERE 编号='%s'",cID); rst.Open(sSQL,adCmdText); this->OnCancel(); } void CDComAndGo::OnSpxxButsave() { if(MessageBox("确定要保存记录吗?"," 系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1) return; CString sSQL,sWww,sTel,sTaxPayer,sName,sMem,sLinkManTel,sLinkMan,sID,sFax,sCName,sAddr,sAccount,sBank; m_EdtWww.GetWindowText(sWww); m_EdtTel.GetWindowText(sTel); m_EdtTaxPayer.GetWindowText(sTaxPayer); m_EdtName.GetWindowText(sName); m_EdtMem.GetWindowText(sMem); m_EdtLinkManTel.GetWindowText(sLinkManTel); m_EdtLinkMan.GetWindowText(sLinkMan); m_EdtID.GetWindowText(sID); m_EdtFax.GetWindowText(sFax); m_EdtCName.GetWindowText(sCName); m_EdtAddr.GetWindowText(sAddr); m_EdtAccount.GetWindowText(sAccount); CString sStyleName; m_ComStyle.GetWindowText(sStyleName); CString sStyle=ado.FieldToOtherField("往来类型表","类型",sStyleName,"编号",1); m_ComBank.GetWindowText(sBank); CString sBankID=ado.FieldToOtherField("银行信息表","名称",sBank,"编号",1); if(this->AddOrChange==1)//添加 { sSQL.Format("INSERT INTO 往来单位信息表 VALUES('%s',%s,'%s','%s','%s','%s','%s','%s','%s',%s,'%s','%s','%s','%s')",sID,sStyle,sName,sCName,sAddr,sTel,sFax,sLinkMan,sLinkManTel,sBankID,sAccount,sTaxPayer,sWww,sMem); rst.Open(sSQL,adCmdText); } else//修改 { sSQL.Format("UPDATE 往来单位信息表 SET 类型=%s,名称='%s',简称='%s',地址='%s',电话='%s',传真=%s,联系人='%s',联系人电话='%s' WHERE 编号='%s'",sStyle,sName,sCName,sAddr,sTel,sFax,sLinkMan,sLinkManTel,sID); rst.Open(sSQL,adCmdText); sSQL.Format("UPDATE 往来单位信息表 SET 开户银行=%s,银行账户='%s',纳税人='%s',邮箱网址='%s',备注='%s' WHERE 编号='%s'",sBankID,sAccount,sTaxPayer,sWww,sMem,sID); rst.Open(sSQL,adCmdText); } this->Enabled(false); this->AddOrChange=0; } void CDComAndGo::OnSpxxButundo() { if(MessageBox("确定要撤消操作吗?"," 系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1) return; this->Enabled(false); this->Clear(); this->Display(m_sID); } void CDComAndGo::OnSpxxButexit() { this->OnCancel(); } BOOL CDComAndGo::OnInitDialog() { CDialog::OnInitDialog(); CDBaseQuery* Parent =(CDBaseQuery*)this->FindWindow(NULL,"往来单位信息查询"); CString sSQL,sID; sID=Parent->m_Grid.GetItemText(Parent->m_CurrentRow,0); m_sID=sID; this->Display(sID); rst.Open("银行信息表"); this->m_ComBank.SetRecordset(rst,"名称"); rst.Open("往来类型表"); this->m_ComStyle.SetRecordset(rst,"类型"); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDComAndGo::OnChangeCagEdtname() { CString sName,sSName; this->m_EdtName.GetWindowText(sName); sSName=CharToLetterCode(sName); this->m_EdtCName.SetWindowText(sSName); }